import java.util.Scanner;

public class Main {

    //前缀和与差分解决问题:
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //N 代表马路的共计多少棵树
        //M 代表区间的数目
        //Ai表示第 i 棵树的维护费用
        int n = scan.nextInt();
        int m = scan.nextInt();

        //初始化数组 a 和前缀和 sum
        long[] a = new long[n + 1]; // a 数组，大小为 n + 1
        long[] sum = new long[n + 1]; //前缀和数组，大小为 n + 1

        //输入数组 a 并计算前缀和
        for (int i = 1; i <= n ; i++) {
            a[i] = scan.nextLong();
            sum[i] = sum[i - 1] + a[i];
        }

        //处理 m 次查询
        for (int i = 1; i <= m ; i++) {
            int l = scan.nextInt();
            int r = scan.nextInt();
            System.out.println(sum[r] - sum[l - 1]);
        }
    }


}
